﻿// 3613. 最长&最短文本.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <vector>

using namespace std;


/*
https://www.acwing.com/problem/content/3616/

输入多行字符串，请按照原文本中的顺序输出其中最短和最长的字符串，
如果最短和最长的字符串不止一个，请全部输出。

输入格式
输入包含若干行，每行一个字符串。

输出格式
按照原文本中的顺序输出其中最短和最长的字符串，如果最短和最长的字符串不止一个，
请全部输出。

每个字符串输出占一行。

数据范围
输入不超过 100行。
字符串长度均不超过 100。

输入样例：
hello
she
sorry
he
输出样例：
he
hello
sorry
*/


int shortl = 9999;
int longl = 0;

vector<string> shortv;
vector<string> longv;

string str;

int main()
{
	while (cin >> str) {
		if (str.size() > longl) {
			longl = str.size();
			longv.clear();
			longv.push_back(str);
		}
		else if (str.size() == longl) {
			longv.push_back(str);
		}

		if (str.size() < shortl) {
			shortl = str.size();
			shortv.clear();
			shortv.push_back(str);
		}
		else if (str.size() == shortl) {
			shortv.push_back(str);
		}
	}

	for (int i = 0; i < shortv.size(); i++) {
		cout << shortv[i] << endl;
	}
	for (int i = 0; i < longv.size(); i++) {
		cout << longv[i] << endl;
	}

	return 0;
}
 